FIG. 1 is a view showing the outline of distributed processing using a message in a client-server system according to a prior art.
Servers S1 and S2 and a client C1 have processing programs P1, P2, and P3, respectively. The client C1 and servers S1 and S2 execute distributed processing by transmitting/receiving a message M1 containing only data D1 to be processed by the processing programs.
Distributed processing is executed on the basis of messages. The message M1 transmitted/received contains only data. Hence, even when the servers S1 and S2 run in different execution environments using different computer languages, operating systems, or server software programs, the client C1 and the server S1 or S2 can use the same message M1. In FIG. 1, nodes having two different execution environments E1 and E2 are present in the client and servers.
To transmit/receive a message containing not only data but also a program in this system, the server side and client side must have the same execution environment and, more particularly, the same program processing environment due to the following reason. That is, data interpretation is possible under any programming language/computer environment though program execution requires an execution environment depending on the computer language describing that program. Hence, the distributed processing technique based on message exchange enables program transmission/reception at the expense of common processing under different environments.
A prior art about distributed processing is disclosed in, e.g., Japanese Patent Laid-Open No. 2003-157178 (patent reference 1). This prior art aims at facilitating cooperation with an Internet environment by XML-converting parameters (data) in invoking processing in a client and a server. The technique however XML-converts only the parameters of a request and cannot solve the problem that the transmitting and receiving sides must eventually have the same environment to execute an object containing both data and a program.
To solve this problem, a common execution environment may be formed by laying a virtual execution environment (virtual machine: VM) over the execution environments. However, this method only facilitates ensuring the same execution environment. Since a computer language itself uses a conventional notation, mismatch occurs actually between the description scheme of data and that of a program in a message (to be described in the following section).
A Web service technology is a distributed processing construction method in a computer. In the Web service technology, a message is described in an extensible markup language, i.e., XML. XML is established by the WWW consortium (W3C) 1998 for the purpose of utilization of structured documents on the Internet. The specifications of XML can be referred to in the website at w3.org in the subdirectory “XML”. The specifications of a message described in XML are called SOAP (Simple Object Access Protocol) in the Web service technology. SOAP defines message description specifications, i.e., a type of data and a method of expressing that data. When SOAP in the Web service technology is used, the distributed processing shown in FIG. 1 can easily be implemented. The WWW consortium (W3C) has also released the specifications of SOAP, like XML, which can be referred to in the website at w3.org in the subdirectory “SOAP” of subdirectory “TR”.
Message transmission/reception using the Web service technology fundamentally uses SOAP described in XML. SOAP using XML can handle a message as a structured document. That is, SOAP can regard a message as a document and freely process its arbitrary part.